package pe.edu.upc.dsd.epica.dao;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
import pe.edu.upc.dsd.epica.model.Usuario;

public class UsuarioDaoJdbc  extends SimpleJdbcDaoSupport implements UsuarioDao {
				
	public void save(Usuario usuario) {
		getSimpleJdbcTemplate().update("insert into usuarios(codigo,login,tipoAplicacion) values(?,?,?)",
				usuario.getCodigo(),
				usuario.getLogin(),
				usuario.getTipo());
	}
	
	public Usuario findByUsuarioCode(String codigo) {
		return getSimpleJdbcTemplate().
				queryForObject("select * from usuarios where codigo=?", 
				new BeanPropertyRowMapper<Usuario>(Usuario.class), codigo);
	}

	@Override
	public Usuario finByLoginTipo(String login, String tipoAplicacion) {
		return getSimpleJdbcTemplate().
				queryForObject("select * from usuarios where login=? and tipoAplicacion=?", 
				new BeanPropertyRowMapper<Usuario>(Usuario.class), login, tipoAplicacion);
	}	

	public int cantidadUsuarios() {
		return getSimpleJdbcTemplate().queryForInt("select count(*) from `usuarios`");
	}
	
	@Override
	public void delete(String codigo) {
		getSimpleJdbcTemplate().update("delete from `usuarios` where codigo=?",codigo);			
	}

}
